package com.lam.common.base.domain;

import java.util.Date;

import com.lam.common.components.data.model.DataInjectible;
import com.lam.common.components.dict.model.DictConvertible;
import com.lam.common.utils.JsonUtil;

/**
 * Entity基类
 * 
 * @author lam
 */
public interface BaseEntity extends DictConvertible, DataInjectible{
	
//	default String getCompanyCode() {
//		return null;
//	}
//	
//	default void setCompanyCode(String companyCode) {
//	}
	
	default String getId() {
		return null;
	}
	
	default void setId(String id) {};
	
	default String getCreateBy() {
		return null;
	}
	
	default void setCreateBy(String createBy) {}
	
	default Date getCreateTime() {
		return null;
	}
	
	default void setCreateTime(Date createTime) {}
	
	default String getUpdateBy() {
		return null;
	}
	
	default void setUpdateBy(String updateBy) {}
	
	default Date getUpdateTime() {
		return null;
	}
	
	default void setUpdateTime(Date updateTime) {}
	
    default String toJSONString() {
    	return JsonUtil.toJsonString(this);
    }

	

}
